class Utils{
	constructor() {
			this.baseUrl = 'https://code.itndedu.com/pz'
		}
	
	// 获取用户信息
	getUserInfo(){
		//调用登录的api
		uni.login({
			success: res => {
				console.log(res)
				this.request({
					url:'/auth/wxLogin',
					data:{
						code:res.code
					},
					success: res =>{
						console.log(res,"res")
					}
				})
			}
		})
	}
	// 请求后端包装
	// https://uniapp.dcloud.net.cn/api/request/request.html#request
	request(option = {
			showLoading: false
		}) {
			// 判断url是否存在
			if (!option.url) {
				return false
			}
			if (option.showLoading) {
				this.showLoading()
			}
			uni.request({
				url: this.baseUrl + option.url,
				data: option.data ? option.data : {},
				header: option.header ? option.header : {},
				method: option.method ? option.method : 'GET',
				success: (response) => {
					uni.hideLoading()
					// 后端返回的数据异常
					if (response.data.code != 10000) {
						// 将失败的结果返回出去
						// option.fail是否为nil   typeof option.fail == 'function'类型是否为函数
						if (option.fail && typeof option.fail == 'function') {
							option.fail(response)
						}
					} else {
						// 将成功的结果返回
						if (option.success && typeof option.success == 'function') {
							option.success(response.data)
						}
					}
				},
				fail: response => {
					uni.hideLoading()
					console.log(response)
				}
			})
		}
		// 创建加载的loading效果
		//在此处进行loading效果原因是因为当点击页面的时候可能触发多个接口，如果每一个接口都loading看起来就非常难看
		showLoading() {
			// https://uniapp.dcloud.net.cn/api/storage/storage.html#getstoragesync
			//判断借助缓存
			const isShowLoading = uni.getStorageSync('isShowLoading')
			//先关闭loading之后再展示loading效果
			if (isShowLoading) {
				uni.hideLoading()
				uni.setStorageSync('isShowLoading', false)
			}
			uni.showLoading({
				title: '加载中...',
				complete: function () {
					uni.setStorageSync('isShowLoading', true)
				},
				fail: function () {
					uni.setStorageSync('isShowLoading', false)
				}
			})
		}
	
}


export default new Utils()